查看原文
其他

ISSCC2017 Deep-Learning Processors导读文章汇总

2017-03-03 唐杉 StarryHeavensAbove

由于公众号可以添加链接了,我重新整理一下ISSCC2017 section14 Deep-Learning Processors的文章导读,方便大家阅读。


14.1 G. Desoli, STMicroelectronics, Cornaredo, Italy, "A 2.9TOPS/W Deep Convolutional Neural Network SoC in FD-SOI 28nm for Intelligent Embedded Systems"

ISSCC2017 Deep-Learning Processors文章学习 (一)

STM的工作基本是在他们比较熟悉的架构,DSP+CONV硬件加速器上进行。相比这次会议的其它文章,可以说这个架构是一个比较平淡(安全)的设计,大的思路和Synopsys的EV处理器也比较类似。我猜除了CONV加速这一部分,其它的都是重用之前的设计。这篇文章的工作的完成度很高,感觉是作为一个实用项目来思考的,细节上有很多地方有借鉴意义。


14.2 D. Shin, et al., "DNPU: An 8.1TOPS/W Reconfigurable CNN-RNN Processor for General-Purpose Deep Neural Networks"

ISSCC2017 Deep-Learning Processors文章学习 (二)

看标题以为这个处理器是用单一架构同时支持CNN和RNN混合运算,但实际上还是用了两套处理器各做各的。看来想用一个架构同时对CNN和RNN实现高效处理,满足嵌入式系统需要的能耗效率还是很有挑战的(也许是不可能的?)。

文章介绍的实现中的trick还是有借鉴意义的:

–  Mixed workload division method(在on-chip memory受限的情况减少off-chip memory的访问)

–  Dynamic fixed-point with on-line adaptation(适应不同层的不同的数据分布,动态范围)

–  Quantization table-based multiplier (将16bit weight转换为4bit index;将乘法转换为查表)


14.3 P. N. Whatmough, et al., "A 28nm SoC with a 1.2GHz 568nJ/Prediction Sparse Deep-Neural-Network Engine with >0.1 Timing Error Rate Tolerance for IoT Applications"

ISSCC2017 Deep-Learning Processors文章学习 (四)

本文的主要看点在于,充分利用DNN网络的内在容错性(弹性)以及Razor,time borrowing等方法,放宽对电路中关键路径的约束,允许出现一定数量的错误。从而在保证整体准确性的同时,可以更好的调整电压(允许工作在极限的低电压状态),实现更好的能耗控制。

如何利用(或者说适应)ML/DL应用和算法层面的并行性,伸缩性,稀疏性和容错性,来提高硬件的效率,是设计和优化DL processor 架构的主要考虑方向。


14.4 M. Price, et al., "A Scalable Speech Recognizer with Deep-Neural-Network Acoustic Models and Voice-Activated Power Gating"

分析一下MIT的智能语音识别芯片

这篇论文是最近一条新闻“MIT黑科技:全新芯片将语音识别功耗降低99%”背后的团队的作品。他们应该是冲着商业化去的,所以这篇文章里控制功耗的内容很有借鉴价值(当然他们应该有些压箱底的东西不会拿出来)。基于DNN的语音检测VAD(voice activity detection)可以获得更好的鲁棒性。ASR(automatic speech recognition)使用的是前馈神经网络FFDNN-HMM混合模型,这个模型性能并不是最优秀的,应该是平衡功耗的考虑。


14.5 B. Moons, et al., "ENVISION: A 0.26-to-10TOPS/W Subword-Parallel Dynamic-Voltage-Accuracy-Frequency-Scalable Convolutional Neural Network Processor in 28nm FDSOI"

ISSCC2017 Deep-Learning Processors文章学习 (三)

个人感觉ENVISION是这次会上最制定看的一个设计。本文重点讲的DVAFS(Dynamic-Voltage-Accuracy-Frequency-Scaling),代表了架构设计的一个趋势。但其实这项技术涉及的内容还是很多的,也需要解决大量细节上的问题。如果能逐渐形成比较成熟的方法学和相应的工具链,应该对DL processor设计有很大帮助。对于嵌入式的DL processor来说,ENVISION,Eyeriss和Cambricon-X是几个比较值得参考的设计。


14.6 K. Bong, et al., "A 0.62mW Ultra-Low-Power Convolutional-Neural-Network Face-Recognition Processor and a CIS Integrated with Always-On Haar-Like Face Detector"

ISSCC2017 Deep-Learning Processors文章学习 (七)

本文工作和MIT的语音识别处理器的设计思路有相似之处:1. 明确分开检测和识别:采用FIS(face image sensor)和CNNP(CNN Processor)两个芯片。2. 降低检测部分的功耗:模拟数字混合的Haar滤波器。3. 识别部分对神经网络的简化,SF-CONV(用两级1D卷积近似2D卷积)+T-SRAM(Transpose-Read SRAM,支持对一列数据的读取)。为了实现功耗目标,基本上在应用,算法和架构层面都做了工作,有很高的参考价值。


14.7 S. Bang, et al., "A 288μW Programmable Deep-Learning Processor with 270KB On-Chip Weight Storage Using Non-Uniform Memory Hierarchy for Mobile Intelligence

ISSCC2017 Deep-Learning Processors文章学习 (五)

本文对memory优化所做的很多工作,基于一个“观察”:“...deep learning algorithms can be deterministically scheduled at compilation time...”。通过仿真可以很大程度确定调度的需求,进而得到优化的设计。而这个思路其实也可以扩展到memory以外的地方,比如对datapath的数据宽度,定点数的定点位置等等。


Enjoy!

T.S.

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存